/**
 * Generated Pins header File
 * 
 * @file pins.h
 * 
 * @defgroup  pinsdriver Pins Driver
 * 
 * @brief This is generated driver header for pins. 
 *        This header file provides APIs for all pins selected in the GUI.
 *
 * @version Driver Version  1.1.0
*/

/*
? [2023] Microchip Technology Inc. and its subsidiaries.

    Subject to your compliance with these terms, you may use Microchip 
    software and any derivatives exclusively with Microchip products. 
    You are responsible for complying with 3rd party license terms  
    applicable to your use of 3rd party software (including open source  
    software) that may accompany Microchip software. SOFTWARE IS ?AS IS.? 
    NO WARRANTIES, WHETHER EXPRESS, IMPLIED OR STATUTORY, APPLY TO THIS 
    SOFTWARE, INCLUDING ANY IMPLIED WARRANTIES OF NON-INFRINGEMENT,  
    MERCHANTABILITY, OR FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT 
    WILL MICROCHIP BE LIABLE FOR ANY INDIRECT, SPECIAL, PUNITIVE, 
    INCIDENTAL OR CONSEQUENTIAL LOSS, DAMAGE, COST OR EXPENSE OF ANY 
    KIND WHATSOEVER RELATED TO THE SOFTWARE, HOWEVER CAUSED, EVEN IF 
    MICROCHIP HAS BEEN ADVISED OF THE POSSIBILITY OR THE DAMAGES ARE 
    FORESEEABLE. TO THE FULLEST EXTENT ALLOWED BY LAW, MICROCHIP?S 
    TOTAL LIABILITY ON ALL CLAIMS RELATED TO THE SOFTWARE WILL NOT 
    EXCEED AMOUNT OF FEES, IF ANY, YOU PAID DIRECTLY TO MICROCHIP FOR 
    THIS SOFTWARE.
*/

#ifndef PINS_H_INCLUDED
#define PINS_H_INCLUDED

#include <avr/io.h>
#include "./port.h"

//get/set AC aliases
#define AC_SetHigh() do { PORTA_OUTSET = 0x2; } while(0)
#define AC_SetLow() do { PORTA_OUTCLR = 0x2; } while(0)
#define AC_Toggle() do { PORTA_OUTTGL = 0x2; } while(0)
#define AC_GetValue() (VPORTA.IN & (0x1 << 1))
#define AC_SetDigitalInput() do { PORTA_DIRCLR = 0x2; } while(0)
#define AC_SetDigitalOutput() do { PORTA_DIRSET = 0x2; } while(0)
#define AC_SetPullUp() do { PORTA_PIN1CTRL  |= PORT_PULLUPEN_bm; } while(0)
#define AC_ResetPullUp() do { PORTA_PIN1CTRL  &= ~PORT_PULLUPEN_bm; } while(0)
#define AC_SetInverted() do { PORTA_PIN1CTRL  |= PORT_INVEN_bm; } while(0)
#define AC_ResetInverted() do { PORTA_PIN1CTRL  &= ~PORT_INVEN_bm; } while(0)
#define AC_DisableInterruptOnChange() do { PORTA.PIN1CTRL = (PORTA.PIN1CTRL & ~PORT_ISC_gm) | 0x0 ; } while(0)
#define AC_EnableInterruptForBothEdges() do { PORTA.PIN1CTRL = (PORTA.PIN1CTRL & ~PORT_ISC_gm) | 0x1 ; } while(0)
#define AC_EnableInterruptForRisingEdge() do { PORTA.PIN1CTRL = (PORTA.PIN1CTRL & ~PORT_ISC_gm) | 0x2 ; } while(0)
#define AC_EnableInterruptForFallingEdge() do { PORTA.PIN1CTRL = (PORTA.PIN1CTRL & ~PORT_ISC_gm) | 0x3 ; } while(0)
#define AC_DisableDigitalInputBuffer() do { PORTA.PIN1CTRL = (PORTA.PIN1CTRL & ~PORT_ISC_gm) | 0x4 ; } while(0)
#define AC_EnableInterruptForLowLevelSensing() do { PORTA.PIN1CTRL = (PORTA.PIN1CTRL & ~PORT_ISC_gm) | 0x5 ; } while(0)
#define PA1_SetInterruptHandler AC_SetInterruptHandler

//get/set VDD aliases
#define VDD_SetHigh() do { PORTA_OUTSET = 0x4; } while(0)
#define VDD_SetLow() do { PORTA_OUTCLR = 0x4; } while(0)
#define VDD_Toggle() do { PORTA_OUTTGL = 0x4; } while(0)
#define VDD_GetValue() (VPORTA.IN & (0x1 << 2))
#define VDD_SetDigitalInput() do { PORTA_DIRCLR = 0x4; } while(0)
#define VDD_SetDigitalOutput() do { PORTA_DIRSET = 0x4; } while(0)
#define VDD_SetPullUp() do { PORTA_PIN2CTRL  |= PORT_PULLUPEN_bm; } while(0)
#define VDD_ResetPullUp() do { PORTA_PIN2CTRL  &= ~PORT_PULLUPEN_bm; } while(0)
#define VDD_SetInverted() do { PORTA_PIN2CTRL  |= PORT_INVEN_bm; } while(0)
#define VDD_ResetInverted() do { PORTA_PIN2CTRL  &= ~PORT_INVEN_bm; } while(0)
#define VDD_DisableInterruptOnChange() do { PORTA.PIN2CTRL = (PORTA.PIN2CTRL & ~PORT_ISC_gm) | 0x0 ; } while(0)
#define VDD_EnableInterruptForBothEdges() do { PORTA.PIN2CTRL = (PORTA.PIN2CTRL & ~PORT_ISC_gm) | 0x1 ; } while(0)
#define VDD_EnableInterruptForRisingEdge() do { PORTA.PIN2CTRL = (PORTA.PIN2CTRL & ~PORT_ISC_gm) | 0x2 ; } while(0)
#define VDD_EnableInterruptForFallingEdge() do { PORTA.PIN2CTRL = (PORTA.PIN2CTRL & ~PORT_ISC_gm) | 0x3 ; } while(0)
#define VDD_DisableDigitalInputBuffer() do { PORTA.PIN2CTRL = (PORTA.PIN2CTRL & ~PORT_ISC_gm) | 0x4 ; } while(0)
#define VDD_EnableInterruptForLowLevelSensing() do { PORTA.PIN2CTRL = (PORTA.PIN2CTRL & ~PORT_ISC_gm) | 0x5 ; } while(0)
#define PA2_SetInterruptHandler VDD_SetInterruptHandler

//get/set VCHARGER aliases
#define VCHARGER_SetHigh() do { PORTA_OUTSET = 0x8; } while(0)
#define VCHARGER_SetLow() do { PORTA_OUTCLR = 0x8; } while(0)
#define VCHARGER_Toggle() do { PORTA_OUTTGL = 0x8; } while(0)
#define VCHARGER_GetValue() (VPORTA.IN & (0x1 << 3))
#define VCHARGER_SetDigitalInput() do { PORTA_DIRCLR = 0x8; } while(0)
#define VCHARGER_SetDigitalOutput() do { PORTA_DIRSET = 0x8; } while(0)
#define VCHARGER_SetPullUp() do { PORTA_PIN3CTRL  |= PORT_PULLUPEN_bm; } while(0)
#define VCHARGER_ResetPullUp() do { PORTA_PIN3CTRL  &= ~PORT_PULLUPEN_bm; } while(0)
#define VCHARGER_SetInverted() do { PORTA_PIN3CTRL  |= PORT_INVEN_bm; } while(0)
#define VCHARGER_ResetInverted() do { PORTA_PIN3CTRL  &= ~PORT_INVEN_bm; } while(0)
#define VCHARGER_DisableInterruptOnChange() do { PORTA.PIN3CTRL = (PORTA.PIN3CTRL & ~PORT_ISC_gm) | 0x0 ; } while(0)
#define VCHARGER_EnableInterruptForBothEdges() do { PORTA.PIN3CTRL = (PORTA.PIN3CTRL & ~PORT_ISC_gm) | 0x1 ; } while(0)
#define VCHARGER_EnableInterruptForRisingEdge() do { PORTA.PIN3CTRL = (PORTA.PIN3CTRL & ~PORT_ISC_gm) | 0x2 ; } while(0)
#define VCHARGER_EnableInterruptForFallingEdge() do { PORTA.PIN3CTRL = (PORTA.PIN3CTRL & ~PORT_ISC_gm) | 0x3 ; } while(0)
#define VCHARGER_DisableDigitalInputBuffer() do { PORTA.PIN3CTRL = (PORTA.PIN3CTRL & ~PORT_ISC_gm) | 0x4 ; } while(0)
#define VCHARGER_EnableInterruptForLowLevelSensing() do { PORTA.PIN3CTRL = (PORTA.PIN3CTRL & ~PORT_ISC_gm) | 0x5 ; } while(0)
#define PA3_SetInterruptHandler VCHARGER_SetInterruptHandler

//get/set ICHARGER aliases
#define ICHARGER_SetHigh() do { PORTA_OUTSET = 0x10; } while(0)
#define ICHARGER_SetLow() do { PORTA_OUTCLR = 0x10; } while(0)
#define ICHARGER_Toggle() do { PORTA_OUTTGL = 0x10; } while(0)
#define ICHARGER_GetValue() (VPORTA.IN & (0x1 << 4))
#define ICHARGER_SetDigitalInput() do { PORTA_DIRCLR = 0x10; } while(0)
#define ICHARGER_SetDigitalOutput() do { PORTA_DIRSET = 0x10; } while(0)
#define ICHARGER_SetPullUp() do { PORTA_PIN4CTRL  |= PORT_PULLUPEN_bm; } while(0)
#define ICHARGER_ResetPullUp() do { PORTA_PIN4CTRL  &= ~PORT_PULLUPEN_bm; } while(0)
#define ICHARGER_SetInverted() do { PORTA_PIN4CTRL  |= PORT_INVEN_bm; } while(0)
#define ICHARGER_ResetInverted() do { PORTA_PIN4CTRL  &= ~PORT_INVEN_bm; } while(0)
#define ICHARGER_DisableInterruptOnChange() do { PORTA.PIN4CTRL = (PORTA.PIN4CTRL & ~PORT_ISC_gm) | 0x0 ; } while(0)
#define ICHARGER_EnableInterruptForBothEdges() do { PORTA.PIN4CTRL = (PORTA.PIN4CTRL & ~PORT_ISC_gm) | 0x1 ; } while(0)
#define ICHARGER_EnableInterruptForRisingEdge() do { PORTA.PIN4CTRL = (PORTA.PIN4CTRL & ~PORT_ISC_gm) | 0x2 ; } while(0)
#define ICHARGER_EnableInterruptForFallingEdge() do { PORTA.PIN4CTRL = (PORTA.PIN4CTRL & ~PORT_ISC_gm) | 0x3 ; } while(0)
#define ICHARGER_DisableDigitalInputBuffer() do { PORTA.PIN4CTRL = (PORTA.PIN4CTRL & ~PORT_ISC_gm) | 0x4 ; } while(0)
#define ICHARGER_EnableInterruptForLowLevelSensing() do { PORTA.PIN4CTRL = (PORTA.PIN4CTRL & ~PORT_ISC_gm) | 0x5 ; } while(0)
#define PA4_SetInterruptHandler ICHARGER_SetInterruptHandler

//get/set BAT aliases
#define BAT_SetHigh() do { PORTB_OUTSET = 0x2; } while(0)
#define BAT_SetLow() do { PORTB_OUTCLR = 0x2; } while(0)
#define BAT_Toggle() do { PORTB_OUTTGL = 0x2; } while(0)
#define BAT_GetValue() (VPORTB.IN & (0x1 << 1))
#define BAT_SetDigitalInput() do { PORTB_DIRCLR = 0x2; } while(0)
#define BAT_SetDigitalOutput() do { PORTB_DIRSET = 0x2; } while(0)
#define BAT_SetPullUp() do { PORTB_PIN1CTRL  |= PORT_PULLUPEN_bm; } while(0)
#define BAT_ResetPullUp() do { PORTB_PIN1CTRL  &= ~PORT_PULLUPEN_bm; } while(0)
#define BAT_SetInverted() do { PORTB_PIN1CTRL  |= PORT_INVEN_bm; } while(0)
#define BAT_ResetInverted() do { PORTB_PIN1CTRL  &= ~PORT_INVEN_bm; } while(0)
#define BAT_DisableInterruptOnChange() do { PORTB.PIN1CTRL = (PORTB.PIN1CTRL & ~PORT_ISC_gm) | 0x0 ; } while(0)
#define BAT_EnableInterruptForBothEdges() do { PORTB.PIN1CTRL = (PORTB.PIN1CTRL & ~PORT_ISC_gm) | 0x1 ; } while(0)
#define BAT_EnableInterruptForRisingEdge() do { PORTB.PIN1CTRL = (PORTB.PIN1CTRL & ~PORT_ISC_gm) | 0x2 ; } while(0)
#define BAT_EnableInterruptForFallingEdge() do { PORTB.PIN1CTRL = (PORTB.PIN1CTRL & ~PORT_ISC_gm) | 0x3 ; } while(0)
#define BAT_DisableDigitalInputBuffer() do { PORTB.PIN1CTRL = (PORTB.PIN1CTRL & ~PORT_ISC_gm) | 0x4 ; } while(0)
#define BAT_EnableInterruptForLowLevelSensing() do { PORTB.PIN1CTRL = (PORTB.PIN1CTRL & ~PORT_ISC_gm) | 0x5 ; } while(0)
#define PB1_SetInterruptHandler BAT_SetInterruptHandler

//get/set IOUT aliases
#define IOUT_SetHigh() do { PORTB_OUTSET = 0x10; } while(0)
#define IOUT_SetLow() do { PORTB_OUTCLR = 0x10; } while(0)
#define IOUT_Toggle() do { PORTB_OUTTGL = 0x10; } while(0)
#define IOUT_GetValue() (VPORTB.IN & (0x1 << 4))
#define IOUT_SetDigitalInput() do { PORTB_DIRCLR = 0x10; } while(0)
#define IOUT_SetDigitalOutput() do { PORTB_DIRSET = 0x10; } while(0)
#define IOUT_SetPullUp() do { PORTB_PIN4CTRL  |= PORT_PULLUPEN_bm; } while(0)
#define IOUT_ResetPullUp() do { PORTB_PIN4CTRL  &= ~PORT_PULLUPEN_bm; } while(0)
#define IOUT_SetInverted() do { PORTB_PIN4CTRL  |= PORT_INVEN_bm; } while(0)
#define IOUT_ResetInverted() do { PORTB_PIN4CTRL  &= ~PORT_INVEN_bm; } while(0)
#define IOUT_DisableInterruptOnChange() do { PORTB.PIN4CTRL = (PORTB.PIN4CTRL & ~PORT_ISC_gm) | 0x0 ; } while(0)
#define IOUT_EnableInterruptForBothEdges() do { PORTB.PIN4CTRL = (PORTB.PIN4CTRL & ~PORT_ISC_gm) | 0x1 ; } while(0)
#define IOUT_EnableInterruptForRisingEdge() do { PORTB.PIN4CTRL = (PORTB.PIN4CTRL & ~PORT_ISC_gm) | 0x2 ; } while(0)
#define IOUT_EnableInterruptForFallingEdge() do { PORTB.PIN4CTRL = (PORTB.PIN4CTRL & ~PORT_ISC_gm) | 0x3 ; } while(0)
#define IOUT_DisableDigitalInputBuffer() do { PORTB.PIN4CTRL = (PORTB.PIN4CTRL & ~PORT_ISC_gm) | 0x4 ; } while(0)
#define IOUT_EnableInterruptForLowLevelSensing() do { PORTB.PIN4CTRL = (PORTB.PIN4CTRL & ~PORT_ISC_gm) | 0x5 ; } while(0)
#define PB4_SetInterruptHandler IOUT_SetInterruptHandler

//get/set DACV aliases
#define DACV_SetHigh() do { PORTA_OUTSET = 0x40; } while(0)
#define DACV_SetLow() do { PORTA_OUTCLR = 0x40; } while(0)
#define DACV_Toggle() do { PORTA_OUTTGL = 0x40; } while(0)
#define DACV_GetValue() (VPORTA.IN & (0x1 << 6))
#define DACV_SetDigitalInput() do { PORTA_DIRCLR = 0x40; } while(0)
#define DACV_SetDigitalOutput() do { PORTA_DIRSET = 0x40; } while(0)
#define DACV_SetPullUp() do { PORTA_PIN6CTRL  |= PORT_PULLUPEN_bm; } while(0)
#define DACV_ResetPullUp() do { PORTA_PIN6CTRL  &= ~PORT_PULLUPEN_bm; } while(0)
#define DACV_SetInverted() do { PORTA_PIN6CTRL  |= PORT_INVEN_bm; } while(0)
#define DACV_ResetInverted() do { PORTA_PIN6CTRL  &= ~PORT_INVEN_bm; } while(0)
#define DACV_DisableInterruptOnChange() do { PORTA.PIN6CTRL = (PORTA.PIN6CTRL & ~PORT_ISC_gm) | 0x0 ; } while(0)
#define DACV_EnableInterruptForBothEdges() do { PORTA.PIN6CTRL = (PORTA.PIN6CTRL & ~PORT_ISC_gm) | 0x1 ; } while(0)
#define DACV_EnableInterruptForRisingEdge() do { PORTA.PIN6CTRL = (PORTA.PIN6CTRL & ~PORT_ISC_gm) | 0x2 ; } while(0)
#define DACV_EnableInterruptForFallingEdge() do { PORTA.PIN6CTRL = (PORTA.PIN6CTRL & ~PORT_ISC_gm) | 0x3 ; } while(0)
#define DACV_DisableDigitalInputBuffer() do { PORTA.PIN6CTRL = (PORTA.PIN6CTRL & ~PORT_ISC_gm) | 0x4 ; } while(0)
#define DACV_EnableInterruptForLowLevelSensing() do { PORTA.PIN6CTRL = (PORTA.PIN6CTRL & ~PORT_ISC_gm) | 0x5 ; } while(0)
#define PA6_SetInterruptHandler DACV_SetInterruptHandler

//get/set RX aliases
#define RX_SetHigh() do { PORTB_OUTSET = 0x8; } while(0)
#define RX_SetLow() do { PORTB_OUTCLR = 0x8; } while(0)
#define RX_Toggle() do { PORTB_OUTTGL = 0x8; } while(0)
#define RX_GetValue() (VPORTB.IN & (0x1 << 3))
#define RX_SetDigitalInput() do { PORTB_DIRCLR = 0x8; } while(0)
#define RX_SetDigitalOutput() do { PORTB_DIRSET = 0x8; } while(0)
#define RX_SetPullUp() do { PORTB_PIN3CTRL  |= PORT_PULLUPEN_bm; } while(0)
#define RX_ResetPullUp() do { PORTB_PIN3CTRL  &= ~PORT_PULLUPEN_bm; } while(0)
#define RX_SetInverted() do { PORTB_PIN3CTRL  |= PORT_INVEN_bm; } while(0)
#define RX_ResetInverted() do { PORTB_PIN3CTRL  &= ~PORT_INVEN_bm; } while(0)
#define RX_DisableInterruptOnChange() do { PORTB.PIN3CTRL = (PORTB.PIN3CTRL & ~PORT_ISC_gm) | 0x0 ; } while(0)
#define RX_EnableInterruptForBothEdges() do { PORTB.PIN3CTRL = (PORTB.PIN3CTRL & ~PORT_ISC_gm) | 0x1 ; } while(0)
#define RX_EnableInterruptForRisingEdge() do { PORTB.PIN3CTRL = (PORTB.PIN3CTRL & ~PORT_ISC_gm) | 0x2 ; } while(0)
#define RX_EnableInterruptForFallingEdge() do { PORTB.PIN3CTRL = (PORTB.PIN3CTRL & ~PORT_ISC_gm) | 0x3 ; } while(0)
#define RX_DisableDigitalInputBuffer() do { PORTB.PIN3CTRL = (PORTB.PIN3CTRL & ~PORT_ISC_gm) | 0x4 ; } while(0)
#define RX_EnableInterruptForLowLevelSensing() do { PORTB.PIN3CTRL = (PORTB.PIN3CTRL & ~PORT_ISC_gm) | 0x5 ; } while(0)
#define PB3_SetInterruptHandler RX_SetInterruptHandler

//get/set TX aliases
#define TX_SetHigh() do { PORTB_OUTSET = 0x4; } while(0)
#define TX_SetLow() do { PORTB_OUTCLR = 0x4; } while(0)
#define TX_Toggle() do { PORTB_OUTTGL = 0x4; } while(0)
#define TX_GetValue() (VPORTB.IN & (0x1 << 2))
#define TX_SetDigitalInput() do { PORTB_DIRCLR = 0x4; } while(0)
#define TX_SetDigitalOutput() do { PORTB_DIRSET = 0x4; } while(0)
#define TX_SetPullUp() do { PORTB_PIN2CTRL  |= PORT_PULLUPEN_bm; } while(0)
#define TX_ResetPullUp() do { PORTB_PIN2CTRL  &= ~PORT_PULLUPEN_bm; } while(0)
#define TX_SetInverted() do { PORTB_PIN2CTRL  |= PORT_INVEN_bm; } while(0)
#define TX_ResetInverted() do { PORTB_PIN2CTRL  &= ~PORT_INVEN_bm; } while(0)
#define TX_DisableInterruptOnChange() do { PORTB.PIN2CTRL = (PORTB.PIN2CTRL & ~PORT_ISC_gm) | 0x0 ; } while(0)
#define TX_EnableInterruptForBothEdges() do { PORTB.PIN2CTRL = (PORTB.PIN2CTRL & ~PORT_ISC_gm) | 0x1 ; } while(0)
#define TX_EnableInterruptForRisingEdge() do { PORTB.PIN2CTRL = (PORTB.PIN2CTRL & ~PORT_ISC_gm) | 0x2 ; } while(0)
#define TX_EnableInterruptForFallingEdge() do { PORTB.PIN2CTRL = (PORTB.PIN2CTRL & ~PORT_ISC_gm) | 0x3 ; } while(0)
#define TX_DisableDigitalInputBuffer() do { PORTB.PIN2CTRL = (PORTB.PIN2CTRL & ~PORT_ISC_gm) | 0x4 ; } while(0)
#define TX_EnableInterruptForLowLevelSensing() do { PORTB.PIN2CTRL = (PORTB.PIN2CTRL & ~PORT_ISC_gm) | 0x5 ; } while(0)
#define PB2_SetInterruptHandler TX_SetInterruptHandler

//get/set OCP aliases
#define OCP_SetHigh() do { PORTB_OUTSET = 0x20; } while(0)
#define OCP_SetLow() do { PORTB_OUTCLR = 0x20; } while(0)
#define OCP_Toggle() do { PORTB_OUTTGL = 0x20; } while(0)
#define OCP_GetValue() (VPORTB.IN & (0x1 << 5))
#define OCP_SetDigitalInput() do { PORTB_DIRCLR = 0x20; } while(0)
#define OCP_SetDigitalOutput() do { PORTB_DIRSET = 0x20; } while(0)
#define OCP_SetPullUp() do { PORTB_PIN5CTRL  |= PORT_PULLUPEN_bm; } while(0)
#define OCP_ResetPullUp() do { PORTB_PIN5CTRL  &= ~PORT_PULLUPEN_bm; } while(0)
#define OCP_SetInverted() do { PORTB_PIN5CTRL  |= PORT_INVEN_bm; } while(0)
#define OCP_ResetInverted() do { PORTB_PIN5CTRL  &= ~PORT_INVEN_bm; } while(0)
#define OCP_DisableInterruptOnChange() do { PORTB.PIN5CTRL = (PORTB.PIN5CTRL & ~PORT_ISC_gm) | 0x0 ; } while(0)
#define OCP_EnableInterruptForBothEdges() do { PORTB.PIN5CTRL = (PORTB.PIN5CTRL & ~PORT_ISC_gm) | 0x1 ; } while(0)
#define OCP_EnableInterruptForRisingEdge() do { PORTB.PIN5CTRL = (PORTB.PIN5CTRL & ~PORT_ISC_gm) | 0x2 ; } while(0)
#define OCP_EnableInterruptForFallingEdge() do { PORTB.PIN5CTRL = (PORTB.PIN5CTRL & ~PORT_ISC_gm) | 0x3 ; } while(0)
#define OCP_DisableDigitalInputBuffer() do { PORTB.PIN5CTRL = (PORTB.PIN5CTRL & ~PORT_ISC_gm) | 0x4 ; } while(0)
#define OCP_EnableInterruptForLowLevelSensing() do { PORTB.PIN5CTRL = (PORTB.PIN5CTRL & ~PORT_ISC_gm) | 0x5 ; } while(0)
#define PB5_SetInterruptHandler OCP_SetInterruptHandler

//get/set VOUT aliases
#define VOUT_SetHigh() do { PORTC_OUTSET = 0x2; } while(0)
#define VOUT_SetLow() do { PORTC_OUTCLR = 0x2; } while(0)
#define VOUT_Toggle() do { PORTC_OUTTGL = 0x2; } while(0)
#define VOUT_GetValue() (VPORTC.IN & (0x1 << 1))
#define VOUT_SetDigitalInput() do { PORTC_DIRCLR = 0x2; } while(0)
#define VOUT_SetDigitalOutput() do { PORTC_DIRSET = 0x2; } while(0)
#define VOUT_SetPullUp() do { PORTC_PIN1CTRL  |= PORT_PULLUPEN_bm; } while(0)
#define VOUT_ResetPullUp() do { PORTC_PIN1CTRL  &= ~PORT_PULLUPEN_bm; } while(0)
#define VOUT_SetInverted() do { PORTC_PIN1CTRL  |= PORT_INVEN_bm; } while(0)
#define VOUT_ResetInverted() do { PORTC_PIN1CTRL  &= ~PORT_INVEN_bm; } while(0)
#define VOUT_DisableInterruptOnChange() do { PORTC.PIN1CTRL = (PORTC.PIN1CTRL & ~PORT_ISC_gm) | 0x0 ; } while(0)
#define VOUT_EnableInterruptForBothEdges() do { PORTC.PIN1CTRL = (PORTC.PIN1CTRL & ~PORT_ISC_gm) | 0x1 ; } while(0)
#define VOUT_EnableInterruptForRisingEdge() do { PORTC.PIN1CTRL = (PORTC.PIN1CTRL & ~PORT_ISC_gm) | 0x2 ; } while(0)
#define VOUT_EnableInterruptForFallingEdge() do { PORTC.PIN1CTRL = (PORTC.PIN1CTRL & ~PORT_ISC_gm) | 0x3 ; } while(0)
#define VOUT_DisableDigitalInputBuffer() do { PORTC.PIN1CTRL = (PORTC.PIN1CTRL & ~PORT_ISC_gm) | 0x4 ; } while(0)
#define VOUT_EnableInterruptForLowLevelSensing() do { PORTC.PIN1CTRL = (PORTC.PIN1CTRL & ~PORT_ISC_gm) | 0x5 ; } while(0)
#define PC1_SetInterruptHandler VOUT_SetInterruptHandler

//get/set RT aliases
#define RT_SetHigh() do { PORTC_OUTSET = 0x4; } while(0)
#define RT_SetLow() do { PORTC_OUTCLR = 0x4; } while(0)
#define RT_Toggle() do { PORTC_OUTTGL = 0x4; } while(0)
#define RT_GetValue() (VPORTC.IN & (0x1 << 2))
#define RT_SetDigitalInput() do { PORTC_DIRCLR = 0x4; } while(0)
#define RT_SetDigitalOutput() do { PORTC_DIRSET = 0x4; } while(0)
#define RT_SetPullUp() do { PORTC_PIN2CTRL  |= PORT_PULLUPEN_bm; } while(0)
#define RT_ResetPullUp() do { PORTC_PIN2CTRL  &= ~PORT_PULLUPEN_bm; } while(0)
#define RT_SetInverted() do { PORTC_PIN2CTRL  |= PORT_INVEN_bm; } while(0)
#define RT_ResetInverted() do { PORTC_PIN2CTRL  &= ~PORT_INVEN_bm; } while(0)
#define RT_DisableInterruptOnChange() do { PORTC.PIN2CTRL = (PORTC.PIN2CTRL & ~PORT_ISC_gm) | 0x0 ; } while(0)
#define RT_EnableInterruptForBothEdges() do { PORTC.PIN2CTRL = (PORTC.PIN2CTRL & ~PORT_ISC_gm) | 0x1 ; } while(0)
#define RT_EnableInterruptForRisingEdge() do { PORTC.PIN2CTRL = (PORTC.PIN2CTRL & ~PORT_ISC_gm) | 0x2 ; } while(0)
#define RT_EnableInterruptForFallingEdge() do { PORTC.PIN2CTRL = (PORTC.PIN2CTRL & ~PORT_ISC_gm) | 0x3 ; } while(0)
#define RT_DisableDigitalInputBuffer() do { PORTC.PIN2CTRL = (PORTC.PIN2CTRL & ~PORT_ISC_gm) | 0x4 ; } while(0)
#define RT_EnableInterruptForLowLevelSensing() do { PORTC.PIN2CTRL = (PORTC.PIN2CTRL & ~PORT_ISC_gm) | 0x5 ; } while(0)
#define PC2_SetInterruptHandler RT_SetInterruptHandler

//get/set BAT_M aliases
#define BAT_M_SetHigh() do { PORTC_OUTSET = 0x8; } while(0)
#define BAT_M_SetLow() do { PORTC_OUTCLR = 0x8; } while(0)
#define BAT_M_Toggle() do { PORTC_OUTTGL = 0x8; } while(0)
#define BAT_M_GetValue() (VPORTC.IN & (0x1 << 3))
#define BAT_M_SetDigitalInput() do { PORTC_DIRCLR = 0x8; } while(0)
#define BAT_M_SetDigitalOutput() do { PORTC_DIRSET = 0x8; } while(0)
#define BAT_M_SetPullUp() do { PORTC_PIN3CTRL  |= PORT_PULLUPEN_bm; } while(0)
#define BAT_M_ResetPullUp() do { PORTC_PIN3CTRL  &= ~PORT_PULLUPEN_bm; } while(0)
#define BAT_M_SetInverted() do { PORTC_PIN3CTRL  |= PORT_INVEN_bm; } while(0)
#define BAT_M_ResetInverted() do { PORTC_PIN3CTRL  &= ~PORT_INVEN_bm; } while(0)
#define BAT_M_DisableInterruptOnChange() do { PORTC.PIN3CTRL = (PORTC.PIN3CTRL & ~PORT_ISC_gm) | 0x0 ; } while(0)
#define BAT_M_EnableInterruptForBothEdges() do { PORTC.PIN3CTRL = (PORTC.PIN3CTRL & ~PORT_ISC_gm) | 0x1 ; } while(0)
#define BAT_M_EnableInterruptForRisingEdge() do { PORTC.PIN3CTRL = (PORTC.PIN3CTRL & ~PORT_ISC_gm) | 0x2 ; } while(0)
#define BAT_M_EnableInterruptForFallingEdge() do { PORTC.PIN3CTRL = (PORTC.PIN3CTRL & ~PORT_ISC_gm) | 0x3 ; } while(0)
#define BAT_M_DisableDigitalInputBuffer() do { PORTC.PIN3CTRL = (PORTC.PIN3CTRL & ~PORT_ISC_gm) | 0x4 ; } while(0)
#define BAT_M_EnableInterruptForLowLevelSensing() do { PORTC.PIN3CTRL = (PORTC.PIN3CTRL & ~PORT_ISC_gm) | 0x5 ; } while(0)
#define PC3_SetInterruptHandler BAT_M_SetInterruptHandler

//get/set TIGER aliases
#define TIGER_SetHigh() do { PORTC_OUTSET = 0x20; } while(0)
#define TIGER_SetLow() do { PORTC_OUTCLR = 0x20; } while(0)
#define TIGER_Toggle() do { PORTC_OUTTGL = 0x20; } while(0)
#define TIGER_GetValue() (VPORTC.IN & (0x1 << 5))
#define TIGER_SetDigitalInput() do { PORTC_DIRCLR = 0x20; } while(0)
#define TIGER_SetDigitalOutput() do { PORTC_DIRSET = 0x20; } while(0)
#define TIGER_SetPullUp() do { PORTC_PIN5CTRL  |= PORT_PULLUPEN_bm; } while(0)
#define TIGER_ResetPullUp() do { PORTC_PIN5CTRL  &= ~PORT_PULLUPEN_bm; } while(0)
#define TIGER_SetInverted() do { PORTC_PIN5CTRL  |= PORT_INVEN_bm; } while(0)
#define TIGER_ResetInverted() do { PORTC_PIN5CTRL  &= ~PORT_INVEN_bm; } while(0)
#define TIGER_DisableInterruptOnChange() do { PORTC.PIN5CTRL = (PORTC.PIN5CTRL & ~PORT_ISC_gm) | 0x0 ; } while(0)
#define TIGER_EnableInterruptForBothEdges() do { PORTC.PIN5CTRL = (PORTC.PIN5CTRL & ~PORT_ISC_gm) | 0x1 ; } while(0)
#define TIGER_EnableInterruptForRisingEdge() do { PORTC.PIN5CTRL = (PORTC.PIN5CTRL & ~PORT_ISC_gm) | 0x2 ; } while(0)
#define TIGER_EnableInterruptForFallingEdge() do { PORTC.PIN5CTRL = (PORTC.PIN5CTRL & ~PORT_ISC_gm) | 0x3 ; } while(0)
#define TIGER_DisableDigitalInputBuffer() do { PORTC.PIN5CTRL = (PORTC.PIN5CTRL & ~PORT_ISC_gm) | 0x4 ; } while(0)
#define TIGER_EnableInterruptForLowLevelSensing() do { PORTC.PIN5CTRL = (PORTC.PIN5CTRL & ~PORT_ISC_gm) | 0x5 ; } while(0)
#define PC5_SetInterruptHandler TIGER_SetInterruptHandler

//get/set ON_CHARGER aliases
#define ON_CHARGER_SetHigh() do { PORTA_OUTSET = 0x20; } while(0)
#define ON_CHARGER_SetLow() do { PORTA_OUTCLR = 0x20; } while(0)
#define ON_CHARGER_Toggle() do { PORTA_OUTTGL = 0x20; } while(0)
#define ON_CHARGER_GetValue() (VPORTA.IN & (0x1 << 5))
#define ON_CHARGER_SetDigitalInput() do { PORTA_DIRCLR = 0x20; } while(0)
#define ON_CHARGER_SetDigitalOutput() do { PORTA_DIRSET = 0x20; } while(0)
#define ON_CHARGER_SetPullUp() do { PORTA_PIN5CTRL  |= PORT_PULLUPEN_bm; } while(0)
#define ON_CHARGER_ResetPullUp() do { PORTA_PIN5CTRL  &= ~PORT_PULLUPEN_bm; } while(0)
#define ON_CHARGER_SetInverted() do { PORTA_PIN5CTRL  |= PORT_INVEN_bm; } while(0)
#define ON_CHARGER_ResetInverted() do { PORTA_PIN5CTRL  &= ~PORT_INVEN_bm; } while(0)
#define ON_CHARGER_DisableInterruptOnChange() do { PORTA.PIN5CTRL = (PORTA.PIN5CTRL & ~PORT_ISC_gm) | 0x0 ; } while(0)
#define ON_CHARGER_EnableInterruptForBothEdges() do { PORTA.PIN5CTRL = (PORTA.PIN5CTRL & ~PORT_ISC_gm) | 0x1 ; } while(0)
#define ON_CHARGER_EnableInterruptForRisingEdge() do { PORTA.PIN5CTRL = (PORTA.PIN5CTRL & ~PORT_ISC_gm) | 0x2 ; } while(0)
#define ON_CHARGER_EnableInterruptForFallingEdge() do { PORTA.PIN5CTRL = (PORTA.PIN5CTRL & ~PORT_ISC_gm) | 0x3 ; } while(0)
#define ON_CHARGER_DisableDigitalInputBuffer() do { PORTA.PIN5CTRL = (PORTA.PIN5CTRL & ~PORT_ISC_gm) | 0x4 ; } while(0)
#define ON_CHARGER_EnableInterruptForLowLevelSensing() do { PORTA.PIN5CTRL = (PORTA.PIN5CTRL & ~PORT_ISC_gm) | 0x5 ; } while(0)
#define PA5_SetInterruptHandler ON_CHARGER_SetInterruptHandler

//get/set MAINOFF aliases
#define MAINOFF_SetHigh() do { PORTA_OUTSET = 0x80; } while(0)
#define MAINOFF_SetLow() do { PORTA_OUTCLR = 0x80; } while(0)
#define MAINOFF_Toggle() do { PORTA_OUTTGL = 0x80; } while(0)
#define MAINOFF_GetValue() (VPORTA.IN & (0x1 << 7))
#define MAINOFF_SetDigitalInput() do { PORTA_DIRCLR = 0x80; } while(0)
#define MAINOFF_SetDigitalOutput() do { PORTA_DIRSET = 0x80; } while(0)
#define MAINOFF_SetPullUp() do { PORTA_PIN7CTRL  |= PORT_PULLUPEN_bm; } while(0)
#define MAINOFF_ResetPullUp() do { PORTA_PIN7CTRL  &= ~PORT_PULLUPEN_bm; } while(0)
#define MAINOFF_SetInverted() do { PORTA_PIN7CTRL  |= PORT_INVEN_bm; } while(0)
#define MAINOFF_ResetInverted() do { PORTA_PIN7CTRL  &= ~PORT_INVEN_bm; } while(0)
#define MAINOFF_DisableInterruptOnChange() do { PORTA.PIN7CTRL = (PORTA.PIN7CTRL & ~PORT_ISC_gm) | 0x0 ; } while(0)
#define MAINOFF_EnableInterruptForBothEdges() do { PORTA.PIN7CTRL = (PORTA.PIN7CTRL & ~PORT_ISC_gm) | 0x1 ; } while(0)
#define MAINOFF_EnableInterruptForRisingEdge() do { PORTA.PIN7CTRL = (PORTA.PIN7CTRL & ~PORT_ISC_gm) | 0x2 ; } while(0)
#define MAINOFF_EnableInterruptForFallingEdge() do { PORTA.PIN7CTRL = (PORTA.PIN7CTRL & ~PORT_ISC_gm) | 0x3 ; } while(0)
#define MAINOFF_DisableDigitalInputBuffer() do { PORTA.PIN7CTRL = (PORTA.PIN7CTRL & ~PORT_ISC_gm) | 0x4 ; } while(0)
#define MAINOFF_EnableInterruptForLowLevelSensing() do { PORTA.PIN7CTRL = (PORTA.PIN7CTRL & ~PORT_ISC_gm) | 0x5 ; } while(0)
#define PA7_SetInterruptHandler MAINOFF_SetInterruptHandler

//get/set BATOFF aliases
#define BATOFF_SetHigh() do { PORTB_OUTSET = 0x1; } while(0)
#define BATOFF_SetLow() do { PORTB_OUTCLR = 0x1; } while(0)
#define BATOFF_Toggle() do { PORTB_OUTTGL = 0x1; } while(0)
#define BATOFF_GetValue() (VPORTB.IN & (0x1 << 0))
#define BATOFF_SetDigitalInput() do { PORTB_DIRCLR = 0x1; } while(0)
#define BATOFF_SetDigitalOutput() do { PORTB_DIRSET = 0x1; } while(0)
#define BATOFF_SetPullUp() do { PORTB_PIN0CTRL  |= PORT_PULLUPEN_bm; } while(0)
#define BATOFF_ResetPullUp() do { PORTB_PIN0CTRL  &= ~PORT_PULLUPEN_bm; } while(0)
#define BATOFF_SetInverted() do { PORTB_PIN0CTRL  |= PORT_INVEN_bm; } while(0)
#define BATOFF_ResetInverted() do { PORTB_PIN0CTRL  &= ~PORT_INVEN_bm; } while(0)
#define BATOFF_DisableInterruptOnChange() do { PORTB.PIN0CTRL = (PORTB.PIN0CTRL & ~PORT_ISC_gm) | 0x0 ; } while(0)
#define BATOFF_EnableInterruptForBothEdges() do { PORTB.PIN0CTRL = (PORTB.PIN0CTRL & ~PORT_ISC_gm) | 0x1 ; } while(0)
#define BATOFF_EnableInterruptForRisingEdge() do { PORTB.PIN0CTRL = (PORTB.PIN0CTRL & ~PORT_ISC_gm) | 0x2 ; } while(0)
#define BATOFF_EnableInterruptForFallingEdge() do { PORTB.PIN0CTRL = (PORTB.PIN0CTRL & ~PORT_ISC_gm) | 0x3 ; } while(0)
#define BATOFF_DisableDigitalInputBuffer() do { PORTB.PIN0CTRL = (PORTB.PIN0CTRL & ~PORT_ISC_gm) | 0x4 ; } while(0)
#define BATOFF_EnableInterruptForLowLevelSensing() do { PORTB.PIN0CTRL = (PORTB.PIN0CTRL & ~PORT_ISC_gm) | 0x5 ; } while(0)
#define PB0_SetInterruptHandler BATOFF_SetInterruptHandler

//get/set BAT_LOSS aliases
#define BAT_LOSS_SetHigh() do { PORTB_OUTSET = 0x80; } while(0)
#define BAT_LOSS_SetLow() do { PORTB_OUTCLR = 0x80; } while(0)
#define BAT_LOSS_Toggle() do { PORTB_OUTTGL = 0x80; } while(0)
#define BAT_LOSS_GetValue() (VPORTB.IN & (0x1 << 7))
#define BAT_LOSS_SetDigitalInput() do { PORTB_DIRCLR = 0x80; } while(0)
#define BAT_LOSS_SetDigitalOutput() do { PORTB_DIRSET = 0x80; } while(0)
#define BAT_LOSS_SetPullUp() do { PORTB_PIN7CTRL  |= PORT_PULLUPEN_bm; } while(0)
#define BAT_LOSS_ResetPullUp() do { PORTB_PIN7CTRL  &= ~PORT_PULLUPEN_bm; } while(0)
#define BAT_LOSS_SetInverted() do { PORTB_PIN7CTRL  |= PORT_INVEN_bm; } while(0)
#define BAT_LOSS_ResetInverted() do { PORTB_PIN7CTRL  &= ~PORT_INVEN_bm; } while(0)
#define BAT_LOSS_DisableInterruptOnChange() do { PORTB.PIN7CTRL = (PORTB.PIN7CTRL & ~PORT_ISC_gm) | 0x0 ; } while(0)
#define BAT_LOSS_EnableInterruptForBothEdges() do { PORTB.PIN7CTRL = (PORTB.PIN7CTRL & ~PORT_ISC_gm) | 0x1 ; } while(0)
#define BAT_LOSS_EnableInterruptForRisingEdge() do { PORTB.PIN7CTRL = (PORTB.PIN7CTRL & ~PORT_ISC_gm) | 0x2 ; } while(0)
#define BAT_LOSS_EnableInterruptForFallingEdge() do { PORTB.PIN7CTRL = (PORTB.PIN7CTRL & ~PORT_ISC_gm) | 0x3 ; } while(0)
#define BAT_LOSS_DisableDigitalInputBuffer() do { PORTB.PIN7CTRL = (PORTB.PIN7CTRL & ~PORT_ISC_gm) | 0x4 ; } while(0)
#define BAT_LOSS_EnableInterruptForLowLevelSensing() do { PORTB.PIN7CTRL = (PORTB.PIN7CTRL & ~PORT_ISC_gm) | 0x5 ; } while(0)
#define PB7_SetInterruptHandler BAT_LOSS_SetInterruptHandler

//get/set SHORT_TEST aliases
#define SHORT_TEST_SetHigh() do { PORTC_OUTSET = 0x1; } while(0)
#define SHORT_TEST_SetLow() do { PORTC_OUTCLR = 0x1; } while(0)
#define SHORT_TEST_Toggle() do { PORTC_OUTTGL = 0x1; } while(0)
#define SHORT_TEST_GetValue() (VPORTC.IN & (0x1 << 0))
#define SHORT_TEST_SetDigitalInput() do { PORTC_DIRCLR = 0x1; } while(0)
#define SHORT_TEST_SetDigitalOutput() do { PORTC_DIRSET = 0x1; } while(0)
#define SHORT_TEST_SetPullUp() do { PORTC_PIN0CTRL  |= PORT_PULLUPEN_bm; } while(0)
#define SHORT_TEST_ResetPullUp() do { PORTC_PIN0CTRL  &= ~PORT_PULLUPEN_bm; } while(0)
#define SHORT_TEST_SetInverted() do { PORTC_PIN0CTRL  |= PORT_INVEN_bm; } while(0)
#define SHORT_TEST_ResetInverted() do { PORTC_PIN0CTRL  &= ~PORT_INVEN_bm; } while(0)
#define SHORT_TEST_DisableInterruptOnChange() do { PORTC.PIN0CTRL = (PORTC.PIN0CTRL & ~PORT_ISC_gm) | 0x0 ; } while(0)
#define SHORT_TEST_EnableInterruptForBothEdges() do { PORTC.PIN0CTRL = (PORTC.PIN0CTRL & ~PORT_ISC_gm) | 0x1 ; } while(0)
#define SHORT_TEST_EnableInterruptForRisingEdge() do { PORTC.PIN0CTRL = (PORTC.PIN0CTRL & ~PORT_ISC_gm) | 0x2 ; } while(0)
#define SHORT_TEST_EnableInterruptForFallingEdge() do { PORTC.PIN0CTRL = (PORTC.PIN0CTRL & ~PORT_ISC_gm) | 0x3 ; } while(0)
#define SHORT_TEST_DisableDigitalInputBuffer() do { PORTC.PIN0CTRL = (PORTC.PIN0CTRL & ~PORT_ISC_gm) | 0x4 ; } while(0)
#define SHORT_TEST_EnableInterruptForLowLevelSensing() do { PORTC.PIN0CTRL = (PORTC.PIN0CTRL & ~PORT_ISC_gm) | 0x5 ; } while(0)
#define PC0_SetInterruptHandler SHORT_TEST_SetInterruptHandler

//get/set DIR_485 aliases
#define DIR_485_SetHigh() do { PORTC_OUTSET = 0x10; } while(0)
#define DIR_485_SetLow() do { PORTC_OUTCLR = 0x10; } while(0)
#define DIR_485_Toggle() do { PORTC_OUTTGL = 0x10; } while(0)
#define DIR_485_GetValue() (VPORTC.IN & (0x1 << 4))
#define DIR_485_SetDigitalInput() do { PORTC_DIRCLR = 0x10; } while(0)
#define DIR_485_SetDigitalOutput() do { PORTC_DIRSET = 0x10; } while(0)
#define DIR_485_SetPullUp() do { PORTC_PIN4CTRL  |= PORT_PULLUPEN_bm; } while(0)
#define DIR_485_ResetPullUp() do { PORTC_PIN4CTRL  &= ~PORT_PULLUPEN_bm; } while(0)
#define DIR_485_SetInverted() do { PORTC_PIN4CTRL  |= PORT_INVEN_bm; } while(0)
#define DIR_485_ResetInverted() do { PORTC_PIN4CTRL  &= ~PORT_INVEN_bm; } while(0)
#define DIR_485_DisableInterruptOnChange() do { PORTC.PIN4CTRL = (PORTC.PIN4CTRL & ~PORT_ISC_gm) | 0x0 ; } while(0)
#define DIR_485_EnableInterruptForBothEdges() do { PORTC.PIN4CTRL = (PORTC.PIN4CTRL & ~PORT_ISC_gm) | 0x1 ; } while(0)
#define DIR_485_EnableInterruptForRisingEdge() do { PORTC.PIN4CTRL = (PORTC.PIN4CTRL & ~PORT_ISC_gm) | 0x2 ; } while(0)
#define DIR_485_EnableInterruptForFallingEdge() do { PORTC.PIN4CTRL = (PORTC.PIN4CTRL & ~PORT_ISC_gm) | 0x3 ; } while(0)
#define DIR_485_DisableDigitalInputBuffer() do { PORTC.PIN4CTRL = (PORTC.PIN4CTRL & ~PORT_ISC_gm) | 0x4 ; } while(0)
#define DIR_485_EnableInterruptForLowLevelSensing() do { PORTC.PIN4CTRL = (PORTC.PIN4CTRL & ~PORT_ISC_gm) | 0x5 ; } while(0)
#define PC4_SetInterruptHandler DIR_485_SetInterruptHandler

/**
 * @ingroup  pinsdriver
 * @brief GPIO and peripheral I/O initialization
 * @param none
 * @return none
 */
void PIN_MANAGER_Initialize();

/**
 * @ingroup  pinsdriver
 * @brief Default Interrupt Handler for AC pin. 
 *        This is a predefined interrupt handler to be used together with the AC_SetInterruptHandler() method.
 *        This handler is called every time the AC ISR is executed. 
 * @pre PIN_MANAGER_Initialize() has been called at least once
 * @param none
 * @return none
 */
void AC_DefaultInterruptHandler(void);

/**
 * @ingroup  pinsdriver
 * @brief Interrupt Handler Setter for AC pin input-sense-config functionality.
 *        Allows selecting an interrupt handler for AC at application runtime
 * @pre PIN_MANAGER_Initialize() has been called at least once
 * @param InterruptHandler function pointer.
 * @return none
 */
void AC_SetInterruptHandler(void (* interruptHandler)(void)) ; 

/**
 * @ingroup  pinsdriver
 * @brief Default Interrupt Handler for VDD pin. 
 *        This is a predefined interrupt handler to be used together with the VDD_SetInterruptHandler() method.
 *        This handler is called every time the VDD ISR is executed. 
 * @pre PIN_MANAGER_Initialize() has been called at least once
 * @param none
 * @return none
 */
void VDD_DefaultInterruptHandler(void);

/**
 * @ingroup  pinsdriver
 * @brief Interrupt Handler Setter for VDD pin input-sense-config functionality.
 *        Allows selecting an interrupt handler for VDD at application runtime
 * @pre PIN_MANAGER_Initialize() has been called at least once
 * @param InterruptHandler function pointer.
 * @return none
 */
void VDD_SetInterruptHandler(void (* interruptHandler)(void)) ; 

/**
 * @ingroup  pinsdriver
 * @brief Default Interrupt Handler for VCHARGER pin. 
 *        This is a predefined interrupt handler to be used together with the VCHARGER_SetInterruptHandler() method.
 *        This handler is called every time the VCHARGER ISR is executed. 
 * @pre PIN_MANAGER_Initialize() has been called at least once
 * @param none
 * @return none
 */
void VCHARGER_DefaultInterruptHandler(void);

/**
 * @ingroup  pinsdriver
 * @brief Interrupt Handler Setter for VCHARGER pin input-sense-config functionality.
 *        Allows selecting an interrupt handler for VCHARGER at application runtime
 * @pre PIN_MANAGER_Initialize() has been called at least once
 * @param InterruptHandler function pointer.
 * @return none
 */
void VCHARGER_SetInterruptHandler(void (* interruptHandler)(void)) ; 

/**
 * @ingroup  pinsdriver
 * @brief Default Interrupt Handler for ICHARGER pin. 
 *        This is a predefined interrupt handler to be used together with the ICHARGER_SetInterruptHandler() method.
 *        This handler is called every time the ICHARGER ISR is executed. 
 * @pre PIN_MANAGER_Initialize() has been called at least once
 * @param none
 * @return none
 */
void ICHARGER_DefaultInterruptHandler(void);

/**
 * @ingroup  pinsdriver
 * @brief Interrupt Handler Setter for ICHARGER pin input-sense-config functionality.
 *        Allows selecting an interrupt handler for ICHARGER at application runtime
 * @pre PIN_MANAGER_Initialize() has been called at least once
 * @param InterruptHandler function pointer.
 * @return none
 */
void ICHARGER_SetInterruptHandler(void (* interruptHandler)(void)) ; 

/**
 * @ingroup  pinsdriver
 * @brief Default Interrupt Handler for BAT pin. 
 *        This is a predefined interrupt handler to be used together with the BAT_SetInterruptHandler() method.
 *        This handler is called every time the BAT ISR is executed. 
 * @pre PIN_MANAGER_Initialize() has been called at least once
 * @param none
 * @return none
 */
void BAT_DefaultInterruptHandler(void);

/**
 * @ingroup  pinsdriver
 * @brief Interrupt Handler Setter for BAT pin input-sense-config functionality.
 *        Allows selecting an interrupt handler for BAT at application runtime
 * @pre PIN_MANAGER_Initialize() has been called at least once
 * @param InterruptHandler function pointer.
 * @return none
 */
void BAT_SetInterruptHandler(void (* interruptHandler)(void)) ; 

/**
 * @ingroup  pinsdriver
 * @brief Default Interrupt Handler for IOUT pin. 
 *        This is a predefined interrupt handler to be used together with the IOUT_SetInterruptHandler() method.
 *        This handler is called every time the IOUT ISR is executed. 
 * @pre PIN_MANAGER_Initialize() has been called at least once
 * @param none
 * @return none
 */
void IOUT_DefaultInterruptHandler(void);

/**
 * @ingroup  pinsdriver
 * @brief Interrupt Handler Setter for IOUT pin input-sense-config functionality.
 *        Allows selecting an interrupt handler for IOUT at application runtime
 * @pre PIN_MANAGER_Initialize() has been called at least once
 * @param InterruptHandler function pointer.
 * @return none
 */
void IOUT_SetInterruptHandler(void (* interruptHandler)(void)) ; 

/**
 * @ingroup  pinsdriver
 * @brief Default Interrupt Handler for DACV pin. 
 *        This is a predefined interrupt handler to be used together with the DACV_SetInterruptHandler() method.
 *        This handler is called every time the DACV ISR is executed. 
 * @pre PIN_MANAGER_Initialize() has been called at least once
 * @param none
 * @return none
 */
void DACV_DefaultInterruptHandler(void);

/**
 * @ingroup  pinsdriver
 * @brief Interrupt Handler Setter for DACV pin input-sense-config functionality.
 *        Allows selecting an interrupt handler for DACV at application runtime
 * @pre PIN_MANAGER_Initialize() has been called at least once
 * @param InterruptHandler function pointer.
 * @return none
 */
void DACV_SetInterruptHandler(void (* interruptHandler)(void)) ; 

/**
 * @ingroup  pinsdriver
 * @brief Default Interrupt Handler for RX pin. 
 *        This is a predefined interrupt handler to be used together with the RX_SetInterruptHandler() method.
 *        This handler is called every time the RX ISR is executed. 
 * @pre PIN_MANAGER_Initialize() has been called at least once
 * @param none
 * @return none
 */
void RX_DefaultInterruptHandler(void);

/**
 * @ingroup  pinsdriver
 * @brief Interrupt Handler Setter for RX pin input-sense-config functionality.
 *        Allows selecting an interrupt handler for RX at application runtime
 * @pre PIN_MANAGER_Initialize() has been called at least once
 * @param InterruptHandler function pointer.
 * @return none
 */
void RX_SetInterruptHandler(void (* interruptHandler)(void)) ; 

/**
 * @ingroup  pinsdriver
 * @brief Default Interrupt Handler for TX pin. 
 *        This is a predefined interrupt handler to be used together with the TX_SetInterruptHandler() method.
 *        This handler is called every time the TX ISR is executed. 
 * @pre PIN_MANAGER_Initialize() has been called at least once
 * @param none
 * @return none
 */
void TX_DefaultInterruptHandler(void);

/**
 * @ingroup  pinsdriver
 * @brief Interrupt Handler Setter for TX pin input-sense-config functionality.
 *        Allows selecting an interrupt handler for TX at application runtime
 * @pre PIN_MANAGER_Initialize() has been called at least once
 * @param InterruptHandler function pointer.
 * @return none
 */
void TX_SetInterruptHandler(void (* interruptHandler)(void)) ; 

/**
 * @ingroup  pinsdriver
 * @brief Default Interrupt Handler for OCP pin. 
 *        This is a predefined interrupt handler to be used together with the OCP_SetInterruptHandler() method.
 *        This handler is called every time the OCP ISR is executed. 
 * @pre PIN_MANAGER_Initialize() has been called at least once
 * @param none
 * @return none
 */
void OCP_DefaultInterruptHandler(void);

/**
 * @ingroup  pinsdriver
 * @brief Interrupt Handler Setter for OCP pin input-sense-config functionality.
 *        Allows selecting an interrupt handler for OCP at application runtime
 * @pre PIN_MANAGER_Initialize() has been called at least once
 * @param InterruptHandler function pointer.
 * @return none
 */
void OCP_SetInterruptHandler(void (* interruptHandler)(void)) ; 

/**
 * @ingroup  pinsdriver
 * @brief Default Interrupt Handler for VOUT pin. 
 *        This is a predefined interrupt handler to be used together with the VOUT_SetInterruptHandler() method.
 *        This handler is called every time the VOUT ISR is executed. 
 * @pre PIN_MANAGER_Initialize() has been called at least once
 * @param none
 * @return none
 */
void VOUT_DefaultInterruptHandler(void);

/**
 * @ingroup  pinsdriver
 * @brief Interrupt Handler Setter for VOUT pin input-sense-config functionality.
 *        Allows selecting an interrupt handler for VOUT at application runtime
 * @pre PIN_MANAGER_Initialize() has been called at least once
 * @param InterruptHandler function pointer.
 * @return none
 */
void VOUT_SetInterruptHandler(void (* interruptHandler)(void)) ; 

/**
 * @ingroup  pinsdriver
 * @brief Default Interrupt Handler for RT pin. 
 *        This is a predefined interrupt handler to be used together with the RT_SetInterruptHandler() method.
 *        This handler is called every time the RT ISR is executed. 
 * @pre PIN_MANAGER_Initialize() has been called at least once
 * @param none
 * @return none
 */
void RT_DefaultInterruptHandler(void);

/**
 * @ingroup  pinsdriver
 * @brief Interrupt Handler Setter for RT pin input-sense-config functionality.
 *        Allows selecting an interrupt handler for RT at application runtime
 * @pre PIN_MANAGER_Initialize() has been called at least once
 * @param InterruptHandler function pointer.
 * @return none
 */
void RT_SetInterruptHandler(void (* interruptHandler)(void)) ; 

/**
 * @ingroup  pinsdriver
 * @brief Default Interrupt Handler for BAT_M pin. 
 *        This is a predefined interrupt handler to be used together with the BAT_M_SetInterruptHandler() method.
 *        This handler is called every time the BAT_M ISR is executed. 
 * @pre PIN_MANAGER_Initialize() has been called at least once
 * @param none
 * @return none
 */
void BAT_M_DefaultInterruptHandler(void);

/**
 * @ingroup  pinsdriver
 * @brief Interrupt Handler Setter for BAT_M pin input-sense-config functionality.
 *        Allows selecting an interrupt handler for BAT_M at application runtime
 * @pre PIN_MANAGER_Initialize() has been called at least once
 * @param InterruptHandler function pointer.
 * @return none
 */
void BAT_M_SetInterruptHandler(void (* interruptHandler)(void)) ; 

/**
 * @ingroup  pinsdriver
 * @brief Default Interrupt Handler for TIGER pin. 
 *        This is a predefined interrupt handler to be used together with the TIGER_SetInterruptHandler() method.
 *        This handler is called every time the TIGER ISR is executed. 
 * @pre PIN_MANAGER_Initialize() has been called at least once
 * @param none
 * @return none
 */
void TIGER_DefaultInterruptHandler(void);

/**
 * @ingroup  pinsdriver
 * @brief Interrupt Handler Setter for TIGER pin input-sense-config functionality.
 *        Allows selecting an interrupt handler for TIGER at application runtime
 * @pre PIN_MANAGER_Initialize() has been called at least once
 * @param InterruptHandler function pointer.
 * @return none
 */
void TIGER_SetInterruptHandler(void (* interruptHandler)(void)) ; 

/**
 * @ingroup  pinsdriver
 * @brief Default Interrupt Handler for ON_CHARGER pin. 
 *        This is a predefined interrupt handler to be used together with the ON_CHARGER_SetInterruptHandler() method.
 *        This handler is called every time the ON_CHARGER ISR is executed. 
 * @pre PIN_MANAGER_Initialize() has been called at least once
 * @param none
 * @return none
 */
void ON_CHARGER_DefaultInterruptHandler(void);

/**
 * @ingroup  pinsdriver
 * @brief Interrupt Handler Setter for ON_CHARGER pin input-sense-config functionality.
 *        Allows selecting an interrupt handler for ON_CHARGER at application runtime
 * @pre PIN_MANAGER_Initialize() has been called at least once
 * @param InterruptHandler function pointer.
 * @return none
 */
void ON_CHARGER_SetInterruptHandler(void (* interruptHandler)(void)) ; 

/**
 * @ingroup  pinsdriver
 * @brief Default Interrupt Handler for MAINOFF pin. 
 *        This is a predefined interrupt handler to be used together with the MAINOFF_SetInterruptHandler() method.
 *        This handler is called every time the MAINOFF ISR is executed. 
 * @pre PIN_MANAGER_Initialize() has been called at least once
 * @param none
 * @return none
 */
void MAINOFF_DefaultInterruptHandler(void);

/**
 * @ingroup  pinsdriver
 * @brief Interrupt Handler Setter for MAINOFF pin input-sense-config functionality.
 *        Allows selecting an interrupt handler for MAINOFF at application runtime
 * @pre PIN_MANAGER_Initialize() has been called at least once
 * @param InterruptHandler function pointer.
 * @return none
 */
void MAINOFF_SetInterruptHandler(void (* interruptHandler)(void)) ; 

/**
 * @ingroup  pinsdriver
 * @brief Default Interrupt Handler for BATOFF pin. 
 *        This is a predefined interrupt handler to be used together with the BATOFF_SetInterruptHandler() method.
 *        This handler is called every time the BATOFF ISR is executed. 
 * @pre PIN_MANAGER_Initialize() has been called at least once
 * @param none
 * @return none
 */
void BATOFF_DefaultInterruptHandler(void);

/**
 * @ingroup  pinsdriver
 * @brief Interrupt Handler Setter for BATOFF pin input-sense-config functionality.
 *        Allows selecting an interrupt handler for BATOFF at application runtime
 * @pre PIN_MANAGER_Initialize() has been called at least once
 * @param InterruptHandler function pointer.
 * @return none
 */
void BATOFF_SetInterruptHandler(void (* interruptHandler)(void)) ; 

/**
 * @ingroup  pinsdriver
 * @brief Default Interrupt Handler for BAT_LOSS pin. 
 *        This is a predefined interrupt handler to be used together with the BAT_LOSS_SetInterruptHandler() method.
 *        This handler is called every time the BAT_LOSS ISR is executed. 
 * @pre PIN_MANAGER_Initialize() has been called at least once
 * @param none
 * @return none
 */
void BAT_LOSS_DefaultInterruptHandler(void);

/**
 * @ingroup  pinsdriver
 * @brief Interrupt Handler Setter for BAT_LOSS pin input-sense-config functionality.
 *        Allows selecting an interrupt handler for BAT_LOSS at application runtime
 * @pre PIN_MANAGER_Initialize() has been called at least once
 * @param InterruptHandler function pointer.
 * @return none
 */
void BAT_LOSS_SetInterruptHandler(void (* interruptHandler)(void)) ; 

/**
 * @ingroup  pinsdriver
 * @brief Default Interrupt Handler for SHORT_TEST pin. 
 *        This is a predefined interrupt handler to be used together with the SHORT_TEST_SetInterruptHandler() method.
 *        This handler is called every time the SHORT_TEST ISR is executed. 
 * @pre PIN_MANAGER_Initialize() has been called at least once
 * @param none
 * @return none
 */
void SHORT_TEST_DefaultInterruptHandler(void);

/**
 * @ingroup  pinsdriver
 * @brief Interrupt Handler Setter for SHORT_TEST pin input-sense-config functionality.
 *        Allows selecting an interrupt handler for SHORT_TEST at application runtime
 * @pre PIN_MANAGER_Initialize() has been called at least once
 * @param InterruptHandler function pointer.
 * @return none
 */
void SHORT_TEST_SetInterruptHandler(void (* interruptHandler)(void)) ; 

/**
 * @ingroup  pinsdriver
 * @brief Default Interrupt Handler for DIR_485 pin. 
 *        This is a predefined interrupt handler to be used together with the DIR_485_SetInterruptHandler() method.
 *        This handler is called every time the DIR_485 ISR is executed. 
 * @pre PIN_MANAGER_Initialize() has been called at least once
 * @param none
 * @return none
 */
void DIR_485_DefaultInterruptHandler(void);

/**
 * @ingroup  pinsdriver
 * @brief Interrupt Handler Setter for DIR_485 pin input-sense-config functionality.
 *        Allows selecting an interrupt handler for DIR_485 at application runtime
 * @pre PIN_MANAGER_Initialize() has been called at least once
 * @param InterruptHandler function pointer.
 * @return none
 */
void DIR_485_SetInterruptHandler(void (* interruptHandler)(void)) ; 
#endif /* PINS_H_INCLUDED */
